package lkx.demo.test1;

/**
 *
 *
 * 分支结构1：if-else条件判断结构
 *
 * 1. 格式
 * 格式1：
 * if(条件表达式)｛
 *   	语句块;
 * ｝
 *
 * 格式2："二选一"
 * if(条件表达式) {
 *   	语句块1;
 * }else{
 *   	语句块2;
 * }
 *
 * 格式3："多选一"
 * if (条件表达式1) {
 *   	语句块1;
 * } else if (条件表达式2) {
 *   	语句块2;
 * }
 * ...
 * }else if (条件表达式n) {
 *  	语句块n;
 * } else {
 *   	语句块n+1;
 * }
 *
 *
 *
 *
 * @author kunxianli
 * @date 2024/01/10 09:20
 **/
public class TestIfElse {

    public static void main(String[] args) {
//       基本使用===============================================================
        /**
         * if(条件表达式)｛
         *   	语句块;
         * ｝
          */
        boolean goodPerson = false;

        if(goodPerson){
            System.out.println("you are good person!");
        }

        /**
         * if(条件表达式) {
         *   	语句块1;
         * }else{
         *   	语句块2;
         * }
         */

        int age = 16;

        if(age >= 18){
            System.out.println("成年了");
        }else {
            System.out.println("未成年");
        }

        /**
         * if (条件表达式1) {
         *   	语句块1;
         * } else if (条件表达式2) {
         *   	语句块2;
         * }
         * ...
         * }else if (条件表达式n) {
         *  	语句块n;
         * } else {
         *   	语句块n+1;
         * }
         */

        // 成绩 90 -100 :未来可期； 70-90 : 可塑之才 ；60-70 ：潜力巨大；小于60：纨绔少年
//        方式1
        int score = 80;
        if(score >=90){
            System.out.println("未来可期");
        }else if(score >=70 && score < 90){
            System.out.println("可塑之才");
        }else if(score >=60 && score < 70){
            System.out.println("潜力巨大");
        }else {
            System.out.println("纨绔少年");
        }

    //如果多个条件表达式之间没有交集（理解是互斥关系），则哪个条件表达式声明在上面，哪个声明在下面都可以。
        if(score >=90){
            System.out.println("未来可期");
        }else if(score >=60 && score < 70){
            System.out.println("潜力巨大");
        }else if(score >=70 && score < 90){
            System.out.println("可塑之才");
        }else {
            System.out.println("纨绔少年");
        }



//        方式2
        if(score >=90){
            System.out.println("未来可期");
        }else if(score >=70){
            System.out.println("可塑之才");
        }else if(score >=60){
            System.out.println("潜力巨大");
        }else {
            System.out.println("纨绔少年");
        }

        /**
         *
         *  如果多个条件表达式之间是包含关系，则需要将范围小的条件表达式声明在范围大的条件表达式的上面。否则，范围小的条件表达式不可能被执行。
         */
//        这个结果是错误的
        if(score >=90){
            System.out.println("未来可期");
        }else if(score >=60){
            System.out.println("潜力巨大");
        } else if(score >=70){
            System.out.println("可塑之才");
        }else {
            System.out.println("纨绔少年");
        }


//       基本使用END===============================================================

//        嵌套使用

/* 如果未成年： 成绩 90 -100 :未来可期； 70-90 : 可塑之才 ；60-70 ：潜力巨大；小于60：纨绔少年
    如果未成年： 成绩 >=60 : 成家立业 ； <60: 流离失所
*/
        int myScore = 1;
        int myAges = 1;

        if(myAges >= 18){
            if(myScore >= 60){
                System.out.println("成家立业");
            }else {
                System.out.println("流离失所");
            }
        }else {
            if(myScore >=90){
                System.out.println("未来可期");
            }else if(myScore >=70){
                System.out.println("可塑之才");
            }else if(myScore >=60){
                System.out.println("潜力巨大");
            }else
                System.out.println("纨绔少年"); //如果if-else中的执行语句块中只有一行执行语句，则此执行语句所在的一对{}可以省略。但是，不建议省略

        }

//        不会报错，但不建议这样写
        boolean b = true;
        if(b = false){
            System.out.println("111");
        }

    }

}
